package com.lxl.it;

import java.util.Arrays;

/**
 * @Author: luoxianliang
 * @Email: 1322342586@qq.com
 * @CreateTime: 2025-08-22
 * @Description: 合并两个有序数组
 * @Version: 1.0
 * @OtherInfo:
 * 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2，
 * 另有两个整数 m 和 n ，分别表示 nums1 和 nums2 中的元素数目。
 * 请你 合并 nums2 到 nums1 中，使合并后的数组同样按 非递减顺序 排列。
 */

public class Demo1 {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        Arrays.sort(nums1);
        int temp  = 0;
        for (int i = 0; i < nums1.length; i++) {
            if (nums1[i] == 0) {
                temp = i;
                break;
            }
        }
        for (int i = 0; i < n; i++) {
            nums1[temp + i] = nums2[i];
        }
        Arrays.sort(nums1);
    }

    public static void main(String[] args) {
        Demo1 demo1 = new Demo1();
        int[] nums1 = {1,2,3,0,0,0}; // nums1 数组
        int m = 3;                                   // nums1 中有效元素个数
        int[] nums2 = {2,5,6};                     // nums2 数组
        int n = 3;
        demo1.merge(nums1, m, nums2, n);
    }
}
